#!/usr/bin/env python3
# -*- coding: utf-8 -*-

class PerformanceMonitorNode:
    """
    一个用于展示和生命周期控制的节点。
    实际的数据收集和图表渲染由前端JavaScript完成。
    此节点仅作为前端逻辑的"锚点"，并使用小部件显示状态。
    """
    def __init__(self):
        pass

    @classmethod
    def INPUT_TYPES(cls):
        return {
            "required": {},
            "hidden": {
                "prompt": "PROMPT",
                "extra_data": "EXTRA_PNGINFO"
            },
        }

    RETURN_TYPES = ()
    FUNCTION = "execute"
    CATEGORY = "AI训练/System"
    OUTPUT_NODE = True # 标记为输出节点以显示小部件

    def execute(self, prompt=None, extra_data=None):
        # 此节点的执行逻辑是空的，所有功能都在前端JS实现
        # 返回一个包含UI信息的字典，让前端知道要更新哪个小部件
        return {"ui": {"text": ["空闲，等待工作流运行..."]}}

NODE_CLASS_MAPPINGS = {
    "PerformanceMonitorNode": PerformanceMonitorNode
}

NODE_DISPLAY_NAME_MAPPINGS = {
    "PerformanceMonitorNode": "Performance Monitor"
} 